package main

import (
	"fmt"
	"math"
)

type T struct {
	id int64
}

var gTID int64

func nextTID() int64 {
	gTID++
	return gTID
}

func newT() *T {
	t := &T{
		id: nextTID(),
	}
	return t
}

func printTArr(arr []*T) {
	for _, t := range arr {
		fmt.Printf("%+v", t)
	}
	fmt.Println("")
}

func stage() int {
	return 6
}

var (
	// 幻化后的成长属性向下截取到小数点后3位
	illusionTrunc = math.Pow10(3)
)

func main() {
	var arr = []*T{newT(), newT(), newT(), newT(), newT(), newT()}
	printTArr(arr)
	//var removeT *T
	//for i, x := range arr {
	//	if x.id == 3 {
	//		arr = append(arr[:i], arr[i+1:]...)
	//		removeT = x
	//		break
	//	}
	//}
	//printTArr(arr)
	//fmt.Println(removeT)
	arr = arr[1:]
	printTArr(arr)

	//i := true
	//
	//input := 1
	//switch input {
	//case 0:
	//	defer func() {
	//		fmt.Println(i)
	//		if i {
	//			fmt.Println(0)
	//		}
	//	}()
	//
	//case 1:
	//	defer func() {
	//		fmt.Println(i)
	//		if i {
	//			fmt.Println(1)
	//		}
	//	}()
	//}
	//
	//i = false

	//fmt.Println(int(math.Ceil(float64(stage()) / 5.0)))

	//fmt.Println(math.Trunc(1.123456*illusionTrunc) / illusionTrunc)
}
